package cn.hss.object.inner;

/**静态内部类
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/25 19:47
 * @Package 包名：cn.hss.object.inner
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class SOuter {//外部类
	private int a=99;//外部类的私有变量
	static int b=1;//外部类的静态变量
	String name="外部类的成员属性name";
	public int getA() {
		return a;
	}

	public void setA(final int a) {
		this.a = a;
	}

	public static class SInner{
		int b=2;//静态内部类的成员变量
		public void test(){
			//如果外部类的静态成员与内部类的成员名称相同，
			// 可通过“外部类类名.静态成员”访问外部类的静态成员
			System.out.println("访问外部类中的变量静态变量b="+SOuter.b);
			System.out.println("访问内部类中的变量b="+b);
			//在内部类中，若想访问外部类的成员变量，需要通过"new SOuter().属性名"访问
			System.out.println("访问外部类中的私有变量a="+new SOuter().a);
			System.out.println("访问外部类中的成员变量name="+new SOuter().name);
		}
	}

	public static void main(String[] args) {
		SInner si=new SInner();//直接创建内部类的对象
		si.test();//调用test方法
	}
}